package com.huiminpay.merchant.api;

import com.huiminpay.common.cache.domain.BusinessException;
import com.huiminpay.merchant.dto.AppDTO;

import java.util.List;

/**
 * @Author: yz
 * @Date: 2024/7/23 11:43
 */
public interface AppService {
    /**
     * 创建应用
     * @param merchantId 商户id
     * @param app 应用信息
     * @return
     * @throws BusinessException
     */
    AppDTO createApp(Long merchantId, AppDTO app) throws BusinessException;

    /**
     * 查询商品下所有应用
     * @param merchantId
     * @return 应用列表
     * @throws BusinessException
     */
    List<AppDTO> queryAppsByMerchantId(Long merchantId) throws BusinessException;

    /**
     * 根据appId查询应用信息
     * @param appId
     * @return
     * @throws BusinessException
     */
    AppDTO queryAppById(String appId) throws BusinessException;

    /**
     * 查询应用是否属于某个商户
     * @param appId 应用id
     * @param merchantId 商户id
     * @return 属于商户返回true，否则false
     */
    Boolean queryAppInMerchant(String appId, Long merchantId);
}
